package org.crystal.tradecraft.model.binance.market.filter;

import lombok.Data;
import lombok.EqualsAndHashCode;
import org.crystal.tradecraft.model.binance.enumeration.FilterType;

/**
 * <h3>LOT_SIZE 订单尺寸</h3>
 * "lots" 是拍卖术语，这个过滤器对订单中的 quantity 也就是数量参数进行合法性检查。包含三个部分：<p>
 *<p>
 * minQty 表示 quantity/icebergQty 允许的最小值.<p>
 * maxQty 表示 quantity/icebergQty 允许的最大值<p>
 * stepSize 表示 quantity/icebergQty 允许的步进值。<p>
 * 逻辑伪代码如下：<p>
 * <ul>
 *     <li>quantity >= minQty</li>
 *     <li>quantity <= maxQty</li>
 *     <li>quantity % stepSize == 0</li>
 * </ul>
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class LotSize extends BinanceFilter {

    public LotSize() {
        super(FilterType.LOT_SIZE);
    }

    private double minQty;

    private double maxQty;

    private double stepSize;
}
